This invention is in the field of automatic translation of natural language text. It specifically provides a technique for propagating simple language changes in computer displayed text through navigational programming links.
Programming links are navigational aids frequently used in online text that permit users to read and navigate text and graphics in a nonlinear fashion, based on what the user wants to see next. The link embeds the address of a destination object behind a textual label (a word or a phrase) that is generally set off, visually, from the remainder of the text through the use of highlighting, underlining or contrasting colour.
The address is a pointer to a destination that is quite often not sequentially in order with the page in which the label is located. In Internet use, such addresses may point to pages on servers in remote locations, under the control of different operators. The user merely selects the label (double-clicks the left mouse button), and the system""s browser automatically locates the destination page or site, accesses the information from the destination, and renders the text and graphics from it onto the user""s computer display.
A form of linkage that is now commonly used is based on the concept of xe2x80x9chypertextxe2x80x9d and a transfer method known as HTTP (Hypertext Transfer Protocol). HTTP is designed to run primarily over TCP/IT (Transmission Control Protocol/Internet Protocol), a networking protocol that permits use of the Internet, but is also used for local network connections.
One format for information transfer is to create documents using Hypertext Markup Language (HTML), a programming language that supports navigational linking. HTML is a structured language, based on SGML (Standard Generalized Markup Language), a document processing system. Like SGML, HTML describes the structure of the document through a system of tags; HTML pages are made up of standard text as well as formatting codes for headings, paragraphs, lists, tables and character styles, that indicate how the page should be displayed. However, HTML defines a set of common document styles particularly for web pages, particularly because it includes a tag called a xe2x80x9clink tagxe2x80x9d that provides the programming for nonlinear navigational links.
U.S. Pat. No. 5,530,852 of Sun Microsystems, Inc., titled xe2x80x9cMethod for Extracting Profiles and Topics from a First File Written in a First Markup Language and Generating Files in Different Markup Languages Containing the Profiles and Topics for use in Accessing Data and Described by the profiles and Topicsxe2x80x9d, describes a method for converting a file from SGML to HTML, including adding xe2x80x9canchorsxe2x80x9d or navigational links referencing other files during the conversion.
Although HTML and hypertext are commonly associated with World Wide Web (WWW) applications over the Internet, they are also widely used in online tools, such as program design tools, authoring tools and online help, to present information in an intuitive fashion. To get more information on a topic, the user can simply click on a label for the topic that links the user to a new screen, window or dialog box containing the new information. This destination screen can itself include links on words or phrases to permit the user to easily navigate to still other screens and topics, farther removed from the starting point.
As discussed in greater detail below, in a typical piece of hypertext, the data stored in the hypertext link is both an address pointing to a remote destination, and a textual label. This is programmed in HTML by embedding the address of the link destination in the link tag. In the case of local pages, the address is usually the pathname of the file containing the destination page, and may include the directory and subdirectory, as needed for local access. The WWW makes use of Uniform Resource Locator (URL) to define the address of a particular page on the Internet. Hypertext for an Internet link includes the URL of the remote destination. The URL naming system consists of tree parts: the transfer format (often xe2x80x9chttpxe2x80x9d) followed by a colon and two forward slashes (://), the name of the host machine that holds the file, and finally, the path to the file on the host machine. In HTML the  less than A greater than tag is used to specify a link and its label. For example xe2x80x9c less than a href=xe2x80x9dwww.ibm.comxe2x80x9c greater than IBM less than /a greater than xe2x80x9d would have a label of IBM and point to www.ibm.com.
When a client accesses a web page, it does so through a software program called a browser which establishes the connection with the server hosting the page. The server executes corresponding server software which presents information to the client in a transfer format (eg., http) response corresponding with the web page or other data generated by the server. Other data included in the http response can provide authorisation confirmation for the client""s access to the page, as described in U.S. Pat. No. 5,708,780 of Open Market, Inc., titled xe2x80x9cInternet Server Access Control and Monitoring Systemxe2x80x9d.
As the web page is initialized on the client machine, the browser renders the text and graphics for it from the HTML data. If the page includes link tags, the browser attempts to resolve these by requiring each link object to provide the default text for the link labels. If the user selects a link the address is resolved and the text from the target element is fetched.
A problem arises when the destination object changes its name. Often it is desirable that the labels of all references found in links for the destination must also be changed for consistency.
Normally, in an online tool, a change in the name of the destination object requires a programmer to locate all references/links to the destination object, and to change them individually to ensure that contextual consistency is maintained. In the case of a change on an Internet page, nothing can be done to propagate the change other than notifying operators of all known references to effect the change, and rely on them to do so. If the change includes a change in the URL, sites which do not effect the change or which are not notified will simply have a link which cannot be executed by the browser.
The following simple example will illustrate the problem. A hypertext page on the internal network of ABC Co. has a sentence with two links pointing to the home page of the company. The page could be rendered in text in the form xe2x80x9cThe ABC Co. provides services to the users of the ABC Co.""s servicesxe2x80x9d. This would be encoded in HTML using two hypertext links of the form:
xe2x80x9c less than a href-transfer format://www.abc.com greater than The ABC Co.  less than /a greater than  provides services to users of the  less than a href= the ABC Co.""s  less than /a greater than services.xe2x80x9d
Note that the grammatical case of the second label is the possessive, indicated in English by an apostrophe.
If the ABC Co. is acquired by the XYZ Co. and renamed the XYZ Services Division, then every piece of hypertext referencing the ABC Company""s home page (now the XYZ Services Division main web page) would have to be located and its label changed to the new name, the XYZ Services Division web page, furthermore this would have to be done in a way that kept the correct case agreement of the name endings as used in the possessive.
xe2x80x9cThe XYZ Services Division provides services to users of the XYZ Services Division""s servicesxe2x80x9d.
On renaming a destination such as this, the preferred solution would be to be able to automatically rename all reference links to the destination.
One reason that this is difficult to do is that even if the label is a simple noun, it must be taken in context at the link location and, changes to the label must agree with the case of the rest of the sentence in which the label is presented.
An automatic change (such as a broadcast to the browser) that simply provides a global replacement for all references will result in xe2x80x9cThe ABC Co. provides servicesxe2x80x9d being replaced with xe2x80x9cThe XYZ Services Division provides servicesxe2x80x9d and xe2x80x9cThe ABC Co.""s servicesxe2x80x9d being replaced with xe2x80x9cThe XYZ Services Division servicesxe2x80x9d. The replacement in the second phrase is clearly incorrect in the grammatical context of that phrase of text as it lacks the possessive xe2x80x98sxe2x80x99.
It is therefore an object of the present invention to provide a technique for automatically reflecting a change in the name of a destination, in the labels of all reference links to it, and to propagate the change throughout the links in such a way that the change in each label fronting a link is correctly made in the grammatical context of that label in the vast majority of cases.
One discovery of the invention has been that dealing with simple grammatical transforms, particularly in the English language, is relatively straightforward because of the lack of complex inflections and case endings required. As a result, a small amount of simple linguistic case information on contextual use of the label on the page presented can be stored as an extra property or attribute on the link itself. This programming data is then used during installation of the link by rendering the text of the link label in its proper context on the page, even if a change has been propagated to the name of the link""s destination. This information is easy to store for a language, but can be applied most simply in English.
Accordingly, the present invention provides a system for rendering text for a page to be displayed by computer when the page contains a navigational reference to another computer-displayable page.
The system consists of a link attribute on the navigational reference identifying lexical characteristics of text for the navigational reference in context of the text for the page to be displayed, and a text-rendering program, such as a browser, adapted to calculate at least one likely form of the text for the navigational reference from the link attribute, while rendering the text for the page to be displayed.
In another aspect, the invention provides a system for rendering labels for navigational reference links to destination objects for display on a page of data on a computer in which programming data provides lexical properties associated with the labels in the context of the page of data. A browser program for rendering text and graphics for the page of data, includes
(i) means to obtain name changes from the destination objects, and
(ii) means to transform the name changes to contextual text using the programming data associated with the labels.
The invention further provides a method for transforming text associated with a reference link to a destination object, for rendering said text on a page displayed by a computer. The method includes steps implemented by a computer of obtaining a notification of a change in the reference link, then applying at least one transformation to the change and rendering text for the transformation.